DOUBLE_BUFFER_ISO_OFFSET=128
Buffer control for both buffers of an endpoint. Fields ending in a _1 are for buffer 1. Fields ending in a _0 are for buffer 0. Buffer 1 controls are only valid if the endpoint is in double buffered mode.
LENGTH_0 | The length of the data in buffer 1. |
AVAILABLE_0 | Buffer 0 is available. This bit is set to indicate the buffer can be used by the controller. The controller clears the available bit when writing the status back. |
STALL | Reply with a stall (valid for both buffers). |
RESET | Reset the buffer selector to buffer 0. |
PID_0 | The data pid of buffer 0. |
LAST_0 | Buffer 0 is the last buffer of the transfer. |
FULL_0 | Buffer 0 is full. For an IN transfer (TX to the host) the bit is set to indicate the data is valid. For an OUT transfer (RX from the host) this bit should be left as a 0. The host will set it when it has filled the buffer with data. |
LENGTH_1 | The length of the data in buffer 1. |
AVAILABLE_1 | Buffer 1 is available. This bit is set to indicate the buffer can be used by the controller. The controller clears the available bit when writing the status back. |
DOUBLE_BUFFER_ISO_OFFSET | The number of bytes buffer 1 is offset from buffer 0 in Isochronous mode. Only valid in double buffered mode for an Isochronous endpoint. For a non Isochronous endpoint the offset is always 64 bytes. 0 (128): undefined 1 (256): undefined 2 (512): undefined 3 (1024): undefined |
PID_1 | The data pid of buffer 1. |
LAST_1 | Buffer 1 is the last buffer of the transfer. |
FULL_1 | Buffer 1 is full. For an IN transfer (TX to the host) the bit is set to indicate the data is valid. For an OUT transfer (RX from the host) this bit should be left as a 0. The host will set it when it has filled the buffer with data. |